<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			/*
			 * 立即执行函数往往只会执行一次
			 */
			(function(){
				console.log("立即执行函数");
			})();
			
			(function(a, b){
				console.log(a + b);
			})(12, 34);
			console.log("\n");
			
			var obj = new Object();
			obj.name = "孙悟空";
			obj.age = 18;
			// 对象的属性值可以是任意的数据类型, 也可以是一个函数
			obj.sayName = function(){
				console.log(obj.name);
			}
			console.log(obj.sayName);
			console.log("\n");
			
			
			/*
			 * 函数也可以称为对象的属性
			 * 	如果一个函数作为一个对象的属性保存
			 *  那么我们可以称这个函数是这个对象的方法
			 *  调用这个函数就说调用对象的方法(method)
			 */
			var obj2 = {
				name: "liqin",
				gender: "girl",
				hobby : function(){
					console.log("eat...");
				}
			};
			
			function fun(obj){
				/*
				 * for .. in 语句对象中有几个属性, 循环体就会执行几次
				 * 每次执行时, 会将对象中的一个属性的名字赋值给变量
				 */
				for(var x in obj){
					console.log("属性名: "+x+", value: "+obj[x]);
				}
			}
			fun(obj2);
		</script>
	</head>
	<body>
	</body>
</html>
